docs: page descriptions, titles, structured data and crawler files for search and answer engines - #651
Merged
Conversation
…r search and answer engines A crawl of cmcp.agentrust-io.com on 2026-09-14 found 44 of 48 pages sharing the site description, a 252-character quickstart description, home and inner titles repeating the site name, two pages titled "Response inspection - cMCP", 96 inline Organization objects with no @id, a robots.txt with no directives or Sitemap line (the repository root copy never deployed), and an llms.txt with no guides or project section. hooks/seo.py gives each page a description from its first paragraph, and four spec pages whose first paragraph is not a summary get one in front matter. overrides/main.html fixes the title, sets og:title to match, and emits one JSON-LD graph per page with the hub Organization by @id, the page itself, and a BreadcrumbList. robots.txt moves to docs/, the tutorial nav label is renamed, and the llms.txt sections follow the five tabs. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013aK3gVWzNdcM3hZ2o2awK2
imran-siddique
requested review from
a team,
carloshvp,
qubeena07 and
zohebk8s
as code owners
September 14, 2026 23:51
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A crawl of every page in cmcp.agentrust-io.com's sitemap on 2026-09-14 found what search and answer engines were reading:
site_description, because Material falls back to it when a page has none. The quickstart's own description ran to 252 characters.cMCP: policy-checked MCP tool calls with signed evidence - cMCPon the home page, and two pages were both titledResponse inspection - cMCP.@idand repeated an inline Organization asauthoron every page, 96 objects in all, with nothing describing the page it sat on./robots.txtserved only Cloudflare's content-signals comment block, with no directives and no Sitemap line. The repository-root robots.txt never deployed, becausedocs_dirisdocs.llms.txthad Getting started, Specification and Tutorials, with no guides beyond four tutorials and no limitations page.Changes
hooks/seo.py, registered underhooks:in mkdocs.yml, sets each page's description from its first paragraph of prose, capped at 155 characters. Front matter still wins. The same hook runs on every AgenTrust docs site.description:in front matter, because their first paragraph is a label list or a context sentence rather than a summary: failure-modes, phase2-server, tool-identity and transport. The quickstart's is cut to 138 characters.overrides/main.htmloverrideshtmltitle: the home page uses its front-matter title alone, and other pages drop the- cMCPsuffix when the title already names cMCP.og:titleandtwitter:titlenow equal<title>, andog:site_nameis AgenTrust.https://agentrust-io.com/#organization, the id the hub and the other docs sites use; a WebSite; a WebPage on the home page or a TechArticle on inner pages, with the page's own title, description and canonical URL; a BreadcrumbList on inner pages; and on the home page the SoftwareApplication node with codeRepository and the MIT license.robots.txtmoves todocs/robots.txt, names the same ten crawlers as agentrust-io.com, disallows/cdn-cgi/, and points athttps://cmcp.agentrust-io.com/sitemap.xml.hooks/**changes.Checked
mkdocs build --strictwith requirements/docs.txt exits 0.cMCP: policy-checked MCP tool calls with signed evidence.@id, no inline Organization objects, and one page node whose url equals the canonical, whose description equals the meta description, and whose headline equals the title. All 47 inner pages carry a BreadcrumbList.robots.txtis at the site root with the Sitemap line, andllms.txthas the four sections.python scripts/check_docs_quickstart.pyagainst the checkout: PASS.hooks/seo.pyimports cleanly underpython -W error.Generated with Claude Code
https://claude.ai/code/session_013aK3gVWzNdcM3hZ2o2awK2